from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from PIL import Image
import io
# 配置Chrome浏览器选项
chrome_options = Options()
chrome_options.add_argument('--headless')  # 无头模式，不显示浏览器窗口
chrome_options.add_argument('--disable-gpu')

# 创建Chrome浏览器实例
driver = webdriver.Chrome(options=chrome_options)

if __name__=='__main__':
    # 网页地址
    url = 'https://cloud.tencent.com/developer/article/2016435'
    # 打开网页
    # 打开网页
    driver.get(url)

    # 获取页面的总高度
    total_height = driver.execute_script("return document.body.parentNode.scrollHeight")

    # 设置浏览器窗口宽度，高度设置为一个较大值确保能覆盖所有内容
    driver.set_window_size(1920, total_height)

    # 等待页面加载完成（可根据实际情况调整等待时间）
    driver.implicitly_wait(10)

    # 截图
    screenshot = driver.get_screenshot_as_png()
    im = Image.open(io.BytesIO(screenshot))

    # 保存截图
    screenshot_path = 'webpage_screenshot.png'
    im.save(screenshot_path)

    # 关闭浏览器
    driver.quit()

    print(f'已将网页 {url} 保存为图片 {screenshot_path}')
        